export default ({ request }) => ({
  /**
   * @description 武将列表
   * @param {Object} data
   */
  HEROES_LIST(page, limit) {
    return request({
      url: "/api/tool/sgTacticHeroes",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  // 获取武将缘分列表
  HEROES_FATES() {
    return request({
      url: "/api/tool/sgTacticFates",
      method: "post",
      data: {
        page: 0,
        limit: 1000,
      },
    });
  },
  // 获取用户拥有的英雄
  GET_USER_HEROES() {
    return request({
      url: "/api/tool/sgTacticUserHeroes",
      method: "post",
    });
  },
  // 获取用户拥有的英雄
  SET_USER_HEROES(id, type) {
    return request({
      url: "/api/tool/updateSgTacticUserHeroes",
      method: "post",
      data: {
        hero_id: id,
        is_owned: type,
      },
    });
  },
  // 获取用户拥有的战法
  GET_USER_TACTICS() {
    return request({
      url: "/api/tool/sgTacticUserTactics",
      method: "post",
    });
  },
  // 获取用户拥有的战法
  SET_USER_TACTICS(id, type) {
    return request({
      url: "/api/tool/updateSgTacticUserTactics",
      method: "post",
      data: {
        tactic_id: id,
        is_owned: type,
      },
    });
  },
  /**
   * @description 战法列表
   * @param {Object} data
   */
  TACTICS_LIST(page, limit) {
    return request({
      url: "/api/tool/sgTacticTactics",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  /**
   * @description 兵书列表
   * @param {Object} data
   */
  BOOKS_LIST(page, limit) {
    return request({
      url: "/api/tool/sgTacticBooks",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  /**
   * 获取武将推荐阵容
   * @param {*} hero_id
   */
  GET_HEROE_RECOMMEND_FORMS(hero_id) {
    return request({
      url: "/api/tool/sgTacticHeroRecommendForms",
      method: "post",
      data: { hero_id },
    });
  },
  /**
   * 获取武将缘分
   * @param {*} hero_id
   */
  GET_HEROE_FATES(hero_id) {
    return request({
      url: "/api/tool/sgTacticHeroFates",
      method: "post",
      data: { hero_id },
    });
  },
  /**
   * 获取热门阵容列表
   * @param {*} page 分页数量
   * @param {*} limit 分页数量
   * @returns
   */
  GET_HOTS_FORMS_LIST(page = 0, limit = 10) {
    return request({
      url: "/api/tool/sgTacticHotFormList",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  /**
   * 获取推荐阵容列表
   * @param {*} page 分页数量
   * @param {*} limit 分页数量
   * @returns
   */
  GET_RECOM_FORMS_LIST(page = 0, limit = 10) {
    return request({
      url: "/api/tool/sgTacticHeroFormListForUser",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  /**
   * 获取收藏阵容列表
   * @param {*} page 分页数量
   * @param {*} limit 分页数量
   * @returns
   */
  GET_COLL_FORMS_LIST(page = 0, limit = 10) {
    return request({
      url: "/api/tool/sgTacticMyCollectFormList",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  /**
   * 设置阵容收藏
   * @param {*} id id
   * @param {*} is_collected 收藏状态
   * @returns
   */
  SET_FORMS_COLL(id, is_collected) {
    return request({
      url: "/api/tool/collectSgTacticForm",
      method: "post",
      data: { form_id: id, is_collected },
    });
  },
  /**
   * 设置阵容点赞
   * @param {*} id id
   * @param {*} is_liked 点赞状态
   * @returns
   */
  SET_FORMS_LIKE(id, is_liked) {
    return request({
      url: "/api/tool/likeSgTacticForm",
      method: "post",
      data: { form_id: id, is_liked },
    });
  },
  /**
   * 删除阵容
   * @param {*} id id
   * @returns
   */
  REMOVE_FORMS(id) {
    return request({
      url: "/api/tool/deleteSgTacticForm",
      method: "post",
      data: { id },
    });
  },
  /**
   * 获取我的阵容列表
   * @param {*} page 分页数量
   * @param {*} limit 分页数量
   * @returns
   */
  GET_MY_FORMS_LIST(page = 0, limit = 10) {
    return request({
      url: "/api/tool/sgTacticMyFormList",
      method: "post",
      data: {
        page,
        limit,
      },
    });
  },
  /**
   * 获取搜索阵容列表
   * @param {*} page 分页数量
   * @param {*} limit 分页数量
   * @returns
   */
  GET_SEARC_FORMS_LIST(name, page = 0, limit = 10) {
    return request({
      url: "/api/tool/sgTacticHeroNameForms",
      method: "post",
      data: {
        name,
        page,
        limit,
      },
    });
  },
  /**
   * 批量更新用户武将
   * @param {*} hero_ids 分页数量
   * @returns
   */
  UPDATE_USER_HEROES(hero_ids) {
    return request({
      url: "/api/tool/updateMultiSgTacticUserHeroes",
      method: "post",
      data: {
        hero_ids,
      },
    });
  },
  /**
   * 发布阵容
   * @param {*} forms
   * @returns
   */
  PUBLISH_FORMS(forms) {
    return request({
      url: "/api/tool/createSgTacticForm",
      method: "post",
      data: forms,
    });
  },
  /**
   * 发布阵容
   * @param {*} forms
   * @returns
   */
  CHECK_FORMS(forms) {
    return request({
      url: "/api/tool/checkSgTacticForm",
      method: "post",
      data: forms,
    });
  },
  FORMS_DETAIL(id) {
    return request({
      url: "/api/tool/sgTacticFormDetail",
      method: "post",
      data: { id },
    });
  },
  NAME_TO_NAME(name) {
    return request({
      url: "/api/tool/sgTacticNameHeroes",
      method: "post",
      data: { name, limit: 100, page: 0 },
    });
  },
});
